/*
	自定义数组扩容规则，当已存储元素数量达到总容量的 80%时，扩容 1.5 倍。
	例如，总容量是 10，当输入第 8 个元素时，数组进行扩容，容量从 10 变 15。
*/

import java.util.Scanner;
import java.util.Random;
import java.util.Arrays;

public class job_4 {

	public static void main(String[] args) {

		int[] arr = new int[10];
		System.out.println("当前数组容量为" + arr.length);

		// 插入的下标
		int index = 0;
		Scanner sc = new Scanner(System.in);
		while(true) {

			System.out.println("当前为第" + (index+1) + "个元素，" + "请输入数字:");
			int num = sc.nextInt();
			arr[index] = num;
			// 判断数组容量是否达到80%
			if(index+1 >= arr.length * 0.8) {
				System.out.println("当前数组容量为" + arr.length + ", 已超出，即将扩容至1.5倍");
				// 新建数组，拷贝数据后，更改指向
				int new_length = (int)(arr.length * 1.5);
				int[] new_arr = new int[new_length];
				System.arraycopy(arr, 0, new_arr, 0, arr.length);
				arr = new_arr;
				System.out.println("数组已完成扩容，当前容量为" + arr.length);
			}

			System.out.println("数组内容为：" + Arrays.toString(arr));
			index++;
		}
	}
}